# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Black Ops 3 - Zombies Template

game: Black Ops 3 - Zombies
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Black Ops 3 - Zombies: 0.5.8 # Version of the world required for this yaml to work as expected.

Black Ops 3 - Zombies:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ###################
  # General Options #
  ###################
  starting_maps_unlocked:
    # Number of maps to start unlocked, the rest will require AP items to access
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 15
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-15: 0 # random value between 0 and 15

  randomized_shield_parts:
    # Shuffles your shield parts into the item pool
    'false': 0
    'true': 50

  map_specific_machines:
    # Enables map specific perk machine items
    'false': 50
    'true': 0

  round_location_max:
    # Maximum of rounds per map to be included as an AP location / check.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 50
    16: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-50: 0 # random value between 0 and 50

  round_location_freq:
    # Frequency of rounds to award an AP location / check for.
    # e.g. Setting this to 3 and Max Round Location to 15 means you'll get a check on rounds 3, 6, 9, 12 and 15
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  kill_checks_enabled:
    # Add kill counts per map as checks
    'false': 0
    'true': 50

  headshot_checks_enabled:
    # Add headshot counts per map as checks
    'false': 50
    'true': 0

  easter_egg_checks_enabled:
    # Include Easter Egg steps as AP locations / checks when Easter Egg Hunt is not the goal condition
    'false': 50
    'true': 0

  music_ee_enabled:
    # Include music easter eggs as AP locations / checks
    'false': 0
    'true': 50

  start_quick_revive:
    # Start with Quick Revive on all maps.
    'false': 50
    'true': 0

  ###########
  # Weapons #
  ###########
  super_ee_reward:
    # Enables the Super EE reward (Starting RK5)
    'false': 50
    'true': 0

  mystery_box_special_items:
    # Shuffles special Mystery Box item unlocks (Wonder weapons, special equipment, specialist weapons) into the item pool
    'false': 0
    'true': 50

  mystery_box_regular_items:
    # Shuffles regular Mystery Box item unlocks into the item pool
    'false': 0
    'true': 50

  mystery_box_expanded:
    # Shuffles most non-Mystery Box weapons into the Mystery Box as well
    'false': 50
    'true': 0

  starting_weapons_1:
    # Number of strength 1 weapons to start with on each map (wallbuys + box)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  starting_weapons_2:
    # Number of strength 2 weapons to start with on each map (wallbuys + box)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  starting_weapons_3:
    # Number of strength 3 weapons to start with on each map (wallbuys + box)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  starting_weapons_4:
    # Number of strength 4 weapons to start with on each map (wallbuys + box)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  starting_weapons_5:
    # Number of strength 5 weapons to start with on each map (wallbuys + box)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  attachments_randomized:
    # Whether to randomize attachments per weapon per seed
    'false': 0
    'true': 50

  attachments_sight_weight:
    # Probability of a large sight (Recon, Infra-Red etc) being chosen instead of a small sight (Iron sights, reflex etc)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  camo_randomized:
    # Randomizes Camo on non-pap'd weapons
    'false': 0
    'true': 50

  camo_mixed:
    # Allows non-pap'd weapons to roll a pap camo
    'false': 50
    'true': 0

  camo_pap_randomized:
    # Randomizes Camo on pap'd weapons
    'false': 0
    'true': 50

  camo_pap_mixed:
    # Allows pap'd weapons to roll a non-pap camo
    'false': 50
    'true': 0

  camo_joined:
    # Camo will stay the same after a weapon is pap'd
    'false': 50
    'true': 0

  reticle_randomized:
    # Randomizes Camo on non-pap'd weapons
    'false': 50
    'true': 0

  reticle_pap_randomized:
    # Randomizes Camo on pap'd weapons
    'false': 0
    'true': 50

  reticle_joined:
    # Reticle will stay the same after a weapon is pap'd
    'false': 50
    'true': 0

  ###################
  # Goal Conditions #
  ###################
  goal_condition:
    # Condition to finish the see.
    # Easter Egg Hunt: Complete the Main Easter Egg on enabled maps
    # Weapon Quest: Complete all weapon quests on enabled maps
    # Victory Round: Reach a selected round on enabled maps
    easter_egg_hunt: 50
    weapon_quest: 0
    goal_round: 0

  goal_ee_random:
    # Randomize which Easter Eggs are required. If disabled, you may complete any number of enabled maps to meet your Easter Egg Goal Count
    'false': 50
    'true': 0

  goal_ee_count:
    # Number of Main Easter Eggs needed to complete the seed when running Easter Egg Hunt. This will not exceed the number of selected maps
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 6
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-6: 0 # random value between 1 and 6

  goal_round:
    # Round to award Goal Round to award victory on when running the Victory Round goal condition
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2
    # Maximum value is 100
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2-100: 0 # random value between 2 and 100

  goal_round_count:
    # Number of maps to meet the goal round to satisfy the win condition. This will not exceed the number of selected maps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 7
    7: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-7: 0 # random value between 1 and 7

  ########################
  # Progressive Settings #
  ########################
  perk_limit_default_modifier:
    # Modifier for initial perk limit, e.g If a map has a perk limit of 4, then -1 modifier will make it 3
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -3
    # Maximum value is 4
    -2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--3-4: 0 # random value between -3 and 4

  progressive_perk_limit_increase:
    # How many increases to the perk limit to add to the item pool
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  progressive_starting_points:
    # How many extra starting points to add into the pool. This will be rounded to 500
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10000
    3000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10000: 0 # random value between 0 and 10000

  ################
  # Map Settings #
  ################
  map_shadows_enabled:
    # Enables Map: "Shadows of Evil"
    'false': 0
    'true': 50

  map_the_giant_enabled:
    # Enables Map: "The Giant".
    'false': 50
    'true': 0

  map_castle_enabled:
    # Enables Map: "Der Eisendrache".
    'false': 50
    'true': 0

  map_zetsubou_enabled:
    # Enables Map: "Zetsubou No Shima".
    'false': 50
    'true': 0

  map_gorod_enabled:
    # Enabled Map: "Gorod Krovi"
    'false': 50
    'true': 0

  map_revelations_enabled:
    # Enabled Map: "Revelations"
    'false': 50
    'true': 0

  map_nacht_enabled:
    # Enabled Map: "Nacht der Untoten"
    'false': 50
    'true': 0

  map_kino_enabled:
    # Enabled Map: "Kino der Toten"
    'false': 50
    'true': 0

  map_moon_enabled:
    # Enabled Map: "Moon"
    'false': 50
    'true': 0

  map_origins_enabled:
    # Enabled Map: "Origins"
    'false': 50
    'true': 0

  start_map_hints:
    # Start hints the maps you have in the pool.
    'false': 0
    'true': 50

  shadows_margwa_head_enabled:
    # Adds check for margwa head unlock
    'false': 0
    'true': 50

  shadows_tripmines_enabled:
    # Adds Doughnuts / Cream Cakes upgrade check for tripmines
    'false': 0
    'true': 50

  castle_bow_count:
    # Number of random Elemental Bow quests to include in checks or Weapon Quest goal conditions
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 4
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-4: 0 # random value between 0 and 4

  castle_bow_storm:
    # Allow the Storm bow to be one of your random Elemental Bow quest checks
    'false': 0
    'true': 50

  castle_bow_wolf:
    # Allow the Wolf bow to be one of your random Elemental Bow quest checks
    'false': 0
    'true': 50

  castle_bow_fire:
    # Allow the Fire bow to be one of your random Elemental Bow quest checks
    'false': 50
    'true': 0

  castle_bow_void:
    # Allow the Void bow to be one of your random Elemental Bow quest checks
    'false': 50
    'true': 0

  gorod_challenges_enabled:
    # Adds the 3 challenges as checks
    'false': 0
    'true': 50

  gorod_monkeybombs_upgrade_enabled:
    # Adds monkey bomb upgrade check
    'false': 0
    'true': 50

  gorod_helmets_enabled:
    # Add Valkyrie and Mangler helm as checks
    'false': 0
    'true': 50

  revelations_challenges_enabled:
    # Adds the 3 challenges as checks
    'false': 0
    'true': 50

  revelations_mask_count:
    # Number of random Revelations Mask quests to include in checks
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 7
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-7: 0 # random value between 0 and 7

  revelations_mask_enabled_dire_wolf:
    # Enable Dire Wolf mask check for Revelations Mask checks
    'false': 0
    'true': 50

  revelations_mask_enabled_siegfried:
    # Enable Helmet of Siegfried mask check for Revelations Mask checks
    'false': 0
    'true': 50

  revelations_mask_enabled_king:
    # Enable Helmet of the King mask check for Revelations Mask checks
    'false': 0
    'true': 50

  revelations_mask_enabled_margwa:
    # Enable Margwa's mask check for Revelations Mask checks
    'false': 0
    'true': 50

  revelations_mask_enabled_fury:
    # Enable Fury's Head mask check for Revelations Mask checks
    'false': 50
    'true': 0

  revelations_mask_enabled_keeper_skull:
    # Enable Keeper Skull mask check for Revelations Mask checks
    'false': 0
    'true': 50

  revelations_mask_enabled_apothicon:
    # Enable Apothicon God Mask check for Revelations Mask checks
    'false': 50
    'true': 0

  origins_staff_upgrade_checks:
    # Enables Staff Upgrade checks when using Goal Round victory condition
    'false': 0
    'true': 50

  #########################
  # Workshop Map Settings #
  #########################
  map_workshop_wanted_enabled:
    # Enabled Map: "Wanted"
    'false': 50
    'true': 0

  #################
  # Shop Settings #
  #################
  shop_perk_tokens:
    # One time use per map (unless save data is cleared), these can be spent to get any perk including those not unlocked yet
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  shop_mega_gums:
    # One time use per map (unless save data is cleared), these can be spent to get a random mega gobblegum
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  shop_rare_gums:
    # One time use per map (unless save data is cleared), these can be spent to get a random rare mega gobblegum
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  shop_legendary_gums:
    # One time use per map (unless save data is cleared), these can be spent to get a random legandary mega gobblegum
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  shop_starting_checkpoint_tokens:
    # Added to starting inventory. One time use per map (unless save data is cleared), these can be spent to immediately make a checkpoint.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  shop_additional_checkpoint_tokens:
    # Shuffled into the item pool. One time use per map (unless save data is cleared), these can be spent to immediately make a checkpoint.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  ###################
  # RNG Adjustments #
  ###################
  difficulty_rng_moon_digger:
    # Make sure the Tunnel 6 digger turns up by roughly round 16 if it hasn't happened earlier
    'false': 0
    'true': 50

  difficulty_rng_moon_box:
    # Add Revelations style Mystery Box weighting to Wave Gun, Gersh Devices and QEDs on Moon
    'false': 0
    'true': 50

  ##########################
  # Difficulty Adjustments #
  ##########################
  difficulty_gorod_egg_cooldown:
    # Instantly cool down the egg instead of waiting 2 rounds to retrieve it each time
    'false': 0
    'true': 50

  difficulty_gorod_dragon_wings:
    # Start the game with the Dragon Wings unlocked in the Department Store
    'false': 50
    'true': 0

  difficulty_ee_checkpoints:
    # Number of checkpoints along the easter egg quest, for completing various steps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  difficulty_round_checkpoints:
    # Makes a checkpoint every X round, if above 0
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 15
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-15: 0 # random value between 0 and 15

  #############
  # Deathlink #
  #############
  deathlink_enabled:
    # Deathlink Enabled. This can be disabled during the AP, but not during it.
    'false': 50
    'true': 0

  deathlink_send_mode:
    # Action which will send a deathlink
    any_player_down: 50
    any_player_death: 0
    end_game: 0

  deathlink_recv_mode:
    # Consequence of being sent a deathlink
    single_player_down: 50
    single_player_death: 0
    all_players_down: 0
    end_game: 0

  ##########
  # Filler #
  ##########
  gift_weight:
    # Weighting of gifts to replace filler with
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_weight:
    # Weighting of traps to replace filler with
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  #######
  # WIP #
  #######
  special_rounds_enabled:
    # Enables Special Rounds (Dogs, Monkeys, ect.).
    'false': 0
    'true': 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
